package com.shujia.day12;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
    Iterator iterator() 迭代器，集合的专用遍历方式

 */
public class CollectionDemo4 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("hadoop");
        c1.add("world");

        //Collection类型的集合本身是不可以直接遍历的
        //需要生成对应的迭代器，迭代器中存储了集合中的元素
        //将来遍历迭代器就可以获取集合中的元素了
        //生成迭代器
        Iterator iterator = c1.iterator(); // new Itr()
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next()); // NoSuchElementException
        //每一个迭代器，都有一个独立指针，每调用一次next()方法，就会向后移动一次指针取数据
        //如何判断下一个位置上是否有元素呢？
        while (iterator.hasNext()){
            Object obj = iterator.next();
            String s = (String)obj;
            System.out.println(s+"-"+s.length());
        }

    }
}
